数据库连接池
- 概念
- 数据库连接池:其实就是一个容器,存放数据库连接的容器。
- 当系统初始化后,容器被创建,并且容器会申请一些连接对象。
- 当用户来访问数据库时,从容器中获取连接对象;用户访问完之后,会将连接对象归还给容器。
- 优点
- 节约资源
- 用户访问高效
- 接口
- 数据库连接池接口由Sun公司编写,具体实现类由各个数据库厂商提供。
- 数据库连接池接口: javax.sql.DataSource
- 接口方法
- 获取连接:getConnection()
- 归还连接:Connection.close()。
- Connection对象是从DataSource对象中获取,此时就不再是关闭连接了,而是归还连接。
- 接口的实现类
- C3P0:数据库连接池实现技术
- Druid:数据库连接池实现技术(阿里巴巴)
C3P0
- 导入jar包
- c3p0-0.9.5.2.jar(数据库连接池技术jar包)
- mchange-commons-java-0.2.12.jar (依赖jar包)
- mysql-connector-java-5.1.37-bin.jar(MySQL数据库驱动jar包)
- 不要忘记导入数据库驱动jar包
- 定义配置文件
- 名称: c3p0.properties 或者 c3p0-config.xml
- 路径:src目录下
- 创建数据库连接池对象
- ComboPooledDataSource
- 获取连接对象
1 | <!-- c3p0-config.xml文件 --> |
1 | // 打印获取的数据库连接对象 |
Druid
- 导入jar包
- druid-1.0.9.jar数据库连接池技术jar包)
- mysql-connector-java-5.1.37-bin.jar(MySQL数据库驱动jar包)
- 定义配置文件
- 任意名称,但必须是properties文件
- 任意目录下
- 加载配置文件
- 获取数据库连接池对象
- 通过工厂来来获取 DruidDataSourceFactory
- 获取连接对象
1
2
3
4
5
6
7
8# druid.properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://127.0.0.1:3306/jdbc
username=root
password=root
initialSize=5
maxActive=10
maxWait=3000
1 | public static void main(String[] args) throws Exception { |
对比
- C3P0
- 导入jar包
- c3p0-0.9.5.2.jar(数据库连接池技术jar包)
- mchange-commons-java-0.2.12.jar (依赖jar包)
- mysql-connector-java-5.1.37-bin.jar(MySQL数据库驱动jar包)
- 定义配置文件
- 名称: c3p0.properties 或者 c3p0-config.xml
- 路径:src目录下
- 创建数据库连接池对象
- ComboPooledDataSource
- 获取连接对象
- 导入jar包
- Druid
- 导入jar包
- druid-1.0.9.jar数据库连接池技术jar包)
- mysql-connector-java-5.1.37-bin.jar(MySQL数据库驱动jar包)
- 定义配置文件
- 任意名称,但必须是properties文件
- 任意目录下
- 加载配置文件
- 获取数据库连接池对象
- 通过工厂来来获取 DruidDataSourceFactory
- 获取连接对象
- 导入jar包
JDBC工具类
- 我们需要在JDBC工具类中来编写以下内容:
- 静态变量
- 静态代码块
- 获取数据库连接池对象的静态方法
- 获取数据库连接对象的静态方法
- 增删改操作释放资源的静态方法
- 查询操作释放资源的静态方法
1 |
|